package com.trinity.orders.constant;

public class OrderConstants {

    public static final String PAY_RECORD_KEY = "pay_record:";
    /**
     * 待支付： 订单已创建但尚未完成支付。用户需要在此阶段完成支付操作。
     * 支付中： 用户已经开始支付过程，但尚未完成。这个状态可能是在用户正在输入支付信息或选择支付方式的时候。
     * 已支付： 用户已成功完成支付，订单金额已经被扣除。
     * 待确认： 系统正在等待确认支付的信息，可能需要一些时间来处理支付交易。
     * 确认失败： 系统未能确认支付信息，可能是由于支付失败、超时或其他问题导致的。
     * 处理中： 订单支付已经确认，但仍在系统中进行后续处理，例如生成订单凭证、发货等。
     * 已发货： 订单中的物品已被发货，用户可以跟踪物流信息。
     * 已完成： 用户已经收到物品并确认满意，订单完成。
     * 已取消： 订单在支付前或支付过程中被用户或系统取消。
     * 退款中： 用户提出退款请求，系统正在处理退款流程。
     * 已退款： 用户的退款请求已经处理完成，金额已返还给用户。
     * 异常： 订单发生异常情况，需要额外的处理或调查。
     */
    public static class OrderState{
        /**
         * 待支付： 订单已创建但尚未完成支付。用户需要在此阶段完成支付操作。
         */
        public static final String NOTPAY = "NOTPAY";
        /**
         * 支付中： 用户已经开始支付过程，但尚未完成。这个状态可能是在用户正在输入支付信息或选择支付方式的时候。
         */
        public static final String USERPAYING = "USERPAYING";
        /**
         * 已支付： 用户已成功完成支付，订单金额已经被扣除。
         */
        public static final String ORDERPAID = "ORDERPAID";
        /**
         *  已取消： 订单在支付前或支付过程中被用户或系统取消。
         */
        public static final String CLOSED = "CLOSED";
        /**
         * 退款中： 用户提出退款请求，系统正在处理退款流程。
         */
        public static final String REFUND = "REFUND";

        /**
         *  已全额退款： 用户的退款请求已经处理完成，金额已返还给用户。
         */
        public static final String FULLREFUND = "FULLREFUND";

        /**
         *  部分退款： 用户的退款请求已经处理完成，金额已返还给用户。
         */
        public static final String PARTIALREFUND = "PARTIALREFUND";

    }
    /**
     * 交易类型.
     */
    public static class TradeState {
        /**
         * 支付成功
         */
        public static final String SUCCESS = "SUCCESS";

        /**
         * 转入退款
         */
        public static final String REFUND = "REFUND";

        /**
         * 未支付
         */
        public static final String NOTPAY = "NOTPAY";

        /**
         * 已关闭
         */
        public static final String CLOSED = "CLOSED";

        /**
         * 已撤销
         */
        public static final String REVOKED = "REVOKED";

        /**
         * 用户支付中 （仅付款码支付会返回）
         */
        public static final String USERPAYING = "USERPAYING";
        /**
         * 支付失败 （仅付款码支付会返回）
         */
        public static final String PAYERROR = "PAYERROR";
        /**
         * 取消支付
         */
        public static final String CENCEL = "FAIL_CENCEL";

    }

    /**
     * 退款状态
     * SUCCESS：退款成功
     * CLOSED：退款关闭
     * PROCESSING：退款处理中
     * ABNORMAL：退款异常
     */
    public static class RefundState {
        /**
         * 退款成功
         */
        public static final String SUCCESS = "SUCCESS";

        /**
         * 转入退款
         */
        public static final String PROCESSING = "PROCESSING";

        /**
         * 退款关闭
         */
        public static final String CLOSED = "CLOSED";


        /**
         * 退款异常
         */
        public static final String ABNORMAL = "ABNORMAL";


    }

    /**
     * 缴费业务类型
     */
    public static class PaymentType {
        /**
         * 专项缴费
         */
        public static final String SPECIAL = "SPECIAL";

        /**
         * 个性化缴费
         */
        public static final String UNIQUE = "UNIQUE";
    }
}
